cmake_minimum_required(VERSION 3.10)
project(ThreeZoneCloud)  # 项目名称可自定义

# 设置 C 语言标准
set(CMAKE_C_STANDARD 11)
set(CMAKE_C_STANDARD_REQUIRED ON)

# 添加头文件搜索路径（根目录下的 include 目录）
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include)

# 收集各子目录下的 C 源文件（根据实际路径调整）
file(GLOB SER_SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/server/ser/*.c")
file(GLOB DIR_SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/server/dir/*.c")
file(GLOB TRANSFER_SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/server/transfer/*.c")

# 合并所有源文件
set(ALL_SOURCES
    ${SER_SOURCES}
    ${DIR_SOURCES}
    ${TRANSFER_SOURCES}
)

# 添加可执行文件目标（入口文件假设在 ser/main.c）
add_executable(three_zone_cloud ${ALL_SOURCES})

# 链接必要库（如多线程）
find_package(Threads REQUIRED)
target_link_libraries(three_zone_cloud PRIVATE Threads::Threads)

# 可选：开启编译警告
if(CMAKE_C_COMPILER_ID MATCHES "GNU|Clang")
    target_compile_options(three_zone_cloud PRIVATE -Wall -Wextra -Wpedantic)
endif()
